package com.springapp.dao.dao.impl;

import com.springapp.dao.dao.IMouvementDAO;
import com.springapp.model.ArtConditionnement;
import com.springapp.model.Mouvement;
import com.springapp.model.Utilisateur;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.stereotype.Repository;

import javax.sql.DataSource;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.List;

/**
 * Created by nicol_000 on 26/08/14.
 */
@Repository
public class MouvementDAO implements IMouvementDAO {

    @Qualifier("dataSource") //Fait référence au datasource dans le mvc-dispatcher.xml
    @Autowired
    private DataSource dataSource;


    @Override
    public List<Mouvement> getAll() {
        return null;
        //requetes
    }

    @Override
    public String insert(Mouvement mouvement) {
        String sRet = "";
        String sql="" +
                "INSERT INTO Mouvement (libelle,IDTypeMvt,IDIncident,LieuDepart,LieuArrivee,IDPalette,IDArtFou,QteArticle,DateMouv)\n" +
                "VALUES ('"+mouvement.getsLibelle()+"', '"+mouvement.geteIDTypeMvt()+"'\n," +
                "'"+mouvement.geteIncident()+"', '"+mouvement.getsLieuDepart()+"'\n," +
                "'"+mouvement.getsLieuArrivee()+"', '"+mouvement.geteIDPalette()+"'\n," +
                "'"+mouvement.geteIdArtFou()+"', '"+mouvement.geteQteArticle()+"',CONVERT(DATETIME,'"+mouvement.getdDateInstant()+"',120))";
        System.out.println(sql);
        Connection conn = null;
        try {
            conn=dataSource.getConnection();
            PreparedStatement ps = conn.prepareStatement(sql);
            int iRet=ps.executeUpdate();
            ps.close();
            if(iRet==0){
                sRet="Echec de l'enregistrement du mouvement";
            }else{
                sRet="Mouvement enregistré";
            }
        } catch (SQLException e) {
            e.printStackTrace();
        }
        return sRet;
    }

}
